#ifndef IFILEREADBEHAVIOR_H
#define IFILEREADBEHAVIOR_H
/*
 * IFileReadBehavior.h
 * ---------------------------------------------------------------
 * Project     : SoundSeeker
 * Version     : 1.0
 
 * Category    : audio file reading interface
 * Created by  : Florian Loferer, 09/2010
 * ---------------------------------------------------------------
 * Description : 
 *		This class is the abstract baseclass for the different 
 *		file reading peculiarities of the according audio file type.
 *		Interface for the Strategy-Pattern used in this context.
 *		All SoundSample implementations use this class and concrete
 *		implementations of their according subclass.
 *		All new file formats need to inherit this class and create
 *		their own concrete implementation.
 * ---------------------------------------------------------------
 * Copyright (C) 2010-2011, Florian Loferer
 *
 * This file is part of the SoundSeeker audio sample library administration tool.
 * For conditions of distribution and use, see the accompanying README file.
 */

#include "SoundSample.h"
#include <QString>
#include <iostream>
#include <fstream>
#include <sstream>

class IFileReadBehavior : public QObject
{	
public:
	
    IFileReadBehavior() { };
	virtual ~IFileReadBehavior(){ };

    // opens the audiofile and calculates the waveform
    virtual int calculateWaveform ( SoundSample* parentSample, int width ) = 0;
    virtual int gatherMetaInformation ( SoundSample* parentSample ) = 0;

};

#endif // IFILEREADBEHAVIOR_H
